{"version":3,"file":"static/chunks/pages/form/[id]-0fb94e8b099aace3.js","mappings":"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","sources":["webpack://_N_E/?142b","webpack://_N_E/./components/ProgressHeader.tsx","webpack://_N_E/./components/styled/markdown.tsx","webpack://_N_E/./components/styled/textarea.input.tsx","webpack://_N_E/./components/types/textarea/textarea.input.tsx","webpack://_N_E/./components/styled/radio.input.tsx","webpack://_N_E/./components/styled/radiogroup.input.tsx","webpack://_N_E/./components/types/radio/radio.input.tsx","webpack://_N_E/./components/styled/slider.input.tsx","webpack://_N_E/./components/types/slider/slider.input.tsx","webpack://_N_E/./components/types/yes_no/yes_no.input.tsx","webpack://_N_E/./components/styled/select.input.tsx","webpack://_N_E/./components/styled/menuItem.input.tsx","webpack://_N_E/./components/types/dropdown/dropdown.input.tsx","webpack://_N_E/./components/styled/rating.input.tsx","webpack://_N_E/./components/types/rating/raiting.input.tsx","webpack://_N_E/./components/styled/checkbox.input.tsx","webpack://_N_E/./components/types/checkbox/checkbox.input.tsx","webpack://_N_E/./components/types/index.tsx","webpack://_N_E/./components/bottomNavigation.tsx","webpack://_N_E/./components/layouts/slider/field.tsx","webpack://_N_E/./graphql/mutation/submission.finish.mutation.ts","webpack://_N_E/./graphql/mutation/submission.set.field.mutation.ts","webpack://_N_E/./graphql/mutation/submission.start.mutation.ts","webpack://_N_E/./components/use.submission.ts","webpack://_N_E/./components/layouts/layout.props.ts","webpack://_N_E/./components/SubmitModal.tsx","webpack://_N_E/./components/custom/product-shape/form.tsx","webpack://_N_E/./components/custom/mlb-experience/form.tsx","webpack://_N_E/./components/custom/gen-ai-readiness/start-page.tsx","webpack://_N_E/./components/layouts/slider/index.tsx","webpack://_N_E/./components/custom/product-shape/index.tsx","webpack://_N_E/./components/custom/ux-research-shape/index.tsx","webpack://_N_E/./components/custom/design-skill-stack/start-page.tsx","webpack://_N_E/./components/custom/design-skill-stack/components/bottomNavigation.tsx","webpack://_N_E/./components/custom/design-skill-stack/components/custom-field.tsx","webpack://_N_E/./components/custom/design-skill-stack/components/user-info-slide.tsx","webpack://_N_E/./components/custom/design-skill-stack/components/radio.tsx","webpack://_N_E/./components/custom/design-skill-stack/components/questionSlide.tsx","webpack://_N_E/./components/custom/design-skill-stack/layout.tsx","webpack://_N_E/./pages/form/[id]/index.tsx","webpack://_N_E/./components/custom/design-skill-stack/dss.module.scss","webpack://_N_E/./components/custom/design-skill-stack/assets/ball-group.png","webpack://_N_E/./components/custom/design-skill-stack/assets/gold-ball-top.png"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/form/[id]\",\n function () {\n return require(\"private-next-pages/form/[id]/index.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/form/[id]\"])\n });\n }\n ","import React, { useState } from 'react';\nimport {\n LinearProgress,\n Box,\n Button,\n Grid,\n Modal,\n Typography,\n} from '@mui/material';\nimport RestartAltIcon from '@mui/icons-material/RestartAlt';\nimport { darken } from 'polished';\nimport { FormPublicDesignFragment } from 'graphql/fragment/form.public.fragment';\nimport { StyledButton } from './styled/button';\n\ninterface Props {\n progressValue: number;\n steps: number;\n design: FormPublicDesignFragment;\n reset: (newSubmission: boolean) => void;\n}\n\nexport const ProgressHeader: React.FC = ({\n progressValue,\n steps,\n design,\n reset,\n}) => {\n // ticket #239 makes all colors in database 6 string hexcodes but not merged yet\n // some forms have 3 string hexcodes, need to convert to 6 for gradient\n const revisedBackground =\n design.colors.background === '#FFF' || design.colors.background === '#000'\n ? design.colors.background + design.colors.background.substring(1)\n : design.colors.background;\n const [openModal, setOpenModal] = useState(false);\n const modalStyle = {\n position: 'absolute' as 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n width: ['80%', 400],\n backgroundColor: design.colors.background,\n border: `2px solid ${design.colors.question}`,\n borderRadius: '8px',\n boxShadow: 24,\n padding: ['5%', 4],\n };\n\n return (\n \n \n \n \n \n setOpenModal(false)}\n aria-labelledby='modal-reset-form'\n >\n \n \n \n Resetting will delete all of the current inputs. Do you want to\n proceed?\n \n \n \n setOpenModal(false)}\n background={design.colors.buttonText}\n $buttonColor={design.colors.button}\n highlight={design.colors.buttonActive}\n className={'modal-button'}\n >\n Cancel\n \n \n \n {\n reset(false);\n setOpenModal(false);\n }}\n background={design.colors.button}\n $buttonColor={design.colors.buttonText}\n highlight={design.colors.buttonActive}\n className={'modal-button'}\n >\n Yes\n \n \n \n \n \n );\n};\n","import { lighten } from 'polished';\nimport React from 'react';\nimport ReactMarkdown from 'react-markdown';\nimport { ReactMarkdownOptions } from 'react-markdown/lib/react-markdown';\nimport styled from 'styled-components';\nimport { FormPublicDesignFragment } from '../../graphql/fragment/form.public.fragment';\n\ninterface Props extends ReactMarkdownOptions {\n type: 'question' | 'answer';\n design: FormPublicDesignFragment;\n}\n\nconst getColor = (props: Props) =>\n props.type === 'question'\n ? props.design.colors.question\n : props.design.colors.answer;\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\nconst Markdown = styled(ReactMarkdown)`\n color: ${getColor};\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n p,\n span,\n div {\n color: ${getColor};\n }\n\n blockquote {\n color: ${getColor};\n padding-left: 20px;\n border-left: 10px rgba(0, 0, 0, 0.05) solid;\n }\n\n table {\n border-collapse: collapse;\n border-spacing: 0;\n\n tr {\n border-top: 1px solid ${getColor};\n\n th,\n td {\n padding: 6px 13px;\n border: 1px solid ${getColor};\n }\n }\n\n tr:nth-child(2n) {\n background: rgba(0, 0, 0, 0.05);\n }\n }\n`;\n\nexport const StyledMarkdown: React.FC = ({ children, ...props }) => {\n return {children};\n};\n","import { TextField, StandardTextFieldProps } from '@mui/material';\nimport { transparentize, lighten } from 'polished';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { FormPublicDesignFragment } from '../../graphql/fragment/form.public.fragment';\n\ninterface Props extends StandardTextFieldProps {\n design: FormPublicDesignFragment;\n onChange: any;\n value: string;\n children?: any;\n name: string;\n id: string;\n error?: any;\n helperText: any;\n type?: string;\n variant: any;\n field?: any;\n $disableUnderline?: boolean; // https://stackoverflow.com/questions/49784294/warning-received-false-for-a-non-boolean-attribute-how-do-i-pass-a-boolean-f\n}\n\n//${(props: Props) => props.field.type === \"textarea\" ? \"background: blue;\" : \"background: green;\"};\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-assignment\nconst Field = styled(TextField)`\n ${(props: Props) =>\n props.field.type === 'textarea'\n ? `& .MuiInput-root {\n border: 2px solid ${props.design.colors.answer};\n border-radius: 4px;\n padding: 3px;\n &:hover {\n border-width: 2px;\n border-color: ${lighten(0.2, props.design.colors.button)};\n }\n }`\n : ''};\n &.MuiTextField-root {\n width: 100%;\n background: transparent;\n margin-bottom: 3vh;\n & .MuiInput-underline {\n color: ${(props: Props) => props.design.colors.answer};\n &:hover::before {\n border-width: 1px;\n border-color: ${(props: Props) =>\n lighten(0.2, props.design.colors.button)};\n }\n &::before {\n border-width: 1px;\n border-color: ${(props: Props) => props.design.colors.question};\n }\n &::after {\n border-width: 1px;\n border-color: ${(props: Props) => props.design.colors.button};\n }\n }\n & .MuiFormHelperText-root.Mui-error {\n color: #e42525;\n }\n & .Mui-error {\n &::after {\n border-color: #e42525;\n }\n }\n }\n\n & input {\n background: none !important;\n color: ${(props: Props) => props.design.colors.answer};\n\n ::placeholder {\n color: ${(props: Props) =>\n transparentize(0.6, props.design.colors.answer)};\n }\n }\n`;\n\nexport const StyledTextareaInput: React.FC = ({\n children,\n ...props\n}) => {\n return {children};\n};\n","import { Grid } from '@mui/material';\nimport React from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport { StyledTextareaInput } from '../../styled/textarea.input';\nimport { FieldInputBuilderType } from '../field.input.builder.type';\n\nexport const TextareaInput = ({\n field,\n design,\n urlValue,\n onChange,\n value,\n focus,\n error,\n helperText,\n}: any) => {\n const { t } = useTranslation();\n\n // let initialValue = undefined;\n\n // if (field.defaultValue) {\n // try {\n // initialValue = parseValue(field.defaultValue);\n // } catch (e) {\n // console.log('invalid default value', e);\n // }\n // }\n\n // if (urlValue) {\n // initialValue = parseUrlValue(urlValue);\n // }\n\n return (\n \n \n \n );\n};\n","import { Radio } from '@mui/material';\nimport { RadioProps } from '@mui/material';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { FormPublicDesignFragment } from '../../graphql/fragment/form.public.fragment';\n\ninterface Props extends RadioProps {\n design: FormPublicDesignFragment;\n}\n\n// $(document).ready(function(){ $('#content').height($(window).height()); })\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-assignment\nconst Field = styled(Radio)`\n flex: 1;\n width: 100%;\n background: none;\n\n &.MuiRadio-root {\n color: ${(props: Props) => props.design.colors.answer};\n // margin: 10px;\n // padding: 2px;\n // border-color: ${(props: Props) => props.design.colors.answer};\n // border-radius: 8px;\n // border-width: 1px;\n // border-style: solid;\n\n justify-content: flex-start;\n }\n\n &.MuiRadio-root.Mui-checked {\n color: ${(props: Props) => props.design.colors.button};\n }\n\n & + .MuiTypography-root {\n width: 100%;\n }\n &.MuiTouchRipple-root {\n width: 100%;\n }\n`;\n\nexport const StyledRadio: React.FC = ({ ...props }) => {\n return ;\n};\n","import { RadioGroup } from '@mui/material';\nimport { RadioGroupProps } from '@mui/material';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { FormPublicDesignFragment } from '../../graphql/fragment/form.public.fragment';\n\ninterface Props extends RadioGroupProps {\n design: FormPublicDesignFragment;\n children?: any;\n}\n\n// $(document).ready(function(){ $('#content').height($(window).height()); })\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-assignment\nconst Field = styled(RadioGroup)`\n flex: 1;\n width: 100%;\n\n margin: 0 10px;\n background: none;\n\n color: ${(props: Props) => props.design.colors.question};\n\n label {\n border-radius: 8px;\n border-width: 1px;\n border-style: solid;\n padding: 1%;\n\n &:not(:last-child) {\n margin-bottom: 16px;\n }\n }\n`;\n\nexport const StyledRadioGroup: React.FC = ({ children, ...props }) => {\n return {children};\n};\n","import React from 'react';\n\nimport { FormControlLabel, Grid } from '@mui/material';\nimport { StyledRadio } from '../../styled/radio.input';\nimport { StyledRadioGroup } from '../../styled/radiogroup.input';\n\nexport const RadioInput = ({ field, design, onChange, value }: any) => {\n return (\n \n \n {field.options.map((option: any) => (\n }\n label={option.title}\n />\n ))}\n \n \n );\n};\n","import { Slider, SliderProps } from '@mui/material';\nimport { transparentize, lighten } from 'polished';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { FormPublicDesignFragment } from '../../graphql/fragment/form.public.fragment';\n\ninterface Props {\n field: any;\n design: FormPublicDesignFragment;\n onChange: any;\n value: string;\n children?: any;\n name: string;\n id: string;\n}\n\nconst Field = styled(Slider)`\n &.MuiSlider-root {\n color: ${(props: Props) => props.design.colors.button};\n margin-bottom: 5vh;\n }\n\n .MuiSlider-markLabel {\n color: ${(props: Props) => props.design.colors.question};\n }\n\n &.MuiSlider-root:hover {\n color: ${(props: Props) => lighten(0.2, props.design.colors.button)};\n }\n`;\n\nexport const StyledSliderInput: React.FC = ({\n children,\n ...props\n}) => {\n const min = parseInt(\n props.field.options[0].value !== 'null' ? props.field.options[0].value : '0'\n );\n const max = parseInt(\n props.field.options[1].value !== 'null'\n ? props.field.options[1].value\n : '100'\n );\n const steps = parseInt(\n props.field.options[2].value !== 'null' ? props.field.options[2].value : '1'\n );\n // logic here because we want end markers always, but step markers only sometime\n // if max is able to be divided by step size evenly and the amount of possible steps is 10 or less,\n // create the steps array to visually show steps.\n // if max divided by step size is 10 or less, show the steps visually on slider\n const stepsArray = [];\n if (max / steps <= 10) {\n for (let i = min + steps; i < max; i += steps) {\n stepsArray.push({ value: i, label: String(i) });\n }\n }\n\n const marks = [\n {\n value: min,\n label: min.toString(),\n },\n ...stepsArray,\n {\n value: max,\n label: max.toString(),\n },\n ];\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-assignment\n return (\n \n {children}\n \n );\n};\n","import { Grid } from '@mui/material';\nimport React from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport { StyledSliderInput } from '../../styled/slider.input';\n\nexport const SliderInput = ({\n field,\n design,\n urlValue,\n onChange,\n value,\n focus,\n}: any) => {\n const { t } = useTranslation();\n\n // let initialValue = undefined;\n\n // if (field.defaultValue) {\n // try {\n // initialValue = parseValue(field.defaultValue);\n // } catch (e) {\n // console.log('invalid default value', e);\n // }\n // }\n\n // if (urlValue) {\n // initialValue = parseUrlValue(urlValue);\n // }\n\n return (\n \n \n \n );\n};\n","import React from 'react';\n\nimport { FormControlLabel, Grid } from '@mui/material';\nimport { StyledRadio } from '../../styled/radio.input';\nimport { StyledRadioGroup } from '../../styled/radiogroup.input';\n\nexport const YesNoInput = ({ field, design, onChange, value }: any) => {\n return (\n \n \n }\n label={'Yes'}\n sx={{\n transition: 'box-shadow 0.1s linear',\n borderColor:\n value === 'Yes' ? 'transparent' : design.colors.question,\n boxShadow:\n value === 'Yes'\n ? `0 0 0 5px ${design.colors.button}`\n : `0 0 0 1px ${design.colors.question}`,\n }}\n />\n }\n label={'No'}\n sx={{\n transition: 'box-shadow 0.1s linear',\n borderColor:\n value === 'No' ? 'transparent' : design.colors.question,\n boxShadow:\n value === 'No'\n ? `0 0 0 5px ${design.colors.button}`\n : `0 0 0 1px ${design.colors.question}`,\n }}\n />\n \n \n );\n};\n","import { Select } from '@mui/material';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { FormPublicDesignFragment } from '../../graphql/fragment/form.public.fragment';\nimport { transparentize, lighten } from 'polished';\n\ninterface Props {\n design: FormPublicDesignFragment;\n onChange: any;\n value: string;\n children?: any;\n name: string;\n label: any;\n error?: any;\n}\n\n// $(document).ready(function(){ $('#content').height($(window).height()); })\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-assignment\nconst Field = styled(Select)`\n &.MuiInput-root {\n width: 100%;\n background: transparent;\n\n & .MuiSelect-select {\n color: ${(props: Props) => props.design.colors.answer};\n }\n\n .MuiSvgIcon-root {\n fill: white;\n }\n & MuiSelect-select {\n background: none !important;\n color: ${(props: Props) => props.design.colors.answer};\n }\n &:hover::before {\n border-width: 1px;\n border-color: ${(props: Props) =>\n lighten(0.2, props.design.colors.button)};\n }\n &::before {\n border-width: 1px;\n border-color: ${(props: Props) => props.design.colors.question};\n }\n &::after {\n border-width: 1px;\n border-color: ${(props: Props) => props.error ? '' : props.design.colors.button};\n }\n }\n`;\n\nexport const StyledSelect: React.FC = ({ ...props }) => {\n return ;\n};\n","import { MenuItem } from '@mui/material';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { FormPublicDesignFragment } from '../../graphql/fragment/form.public.fragment';\n\ninterface Props {\n design: FormPublicDesignFragment;\n value: string;\n children?: any;\n}\n\n// $(document).ready(function(){ $('#content').height($(window).height()); })\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-assignment\nconst Field = styled(MenuItem)`\n &.MuiList-root {\n background-color: ${(props: Props) => props.design.colors.background};\n }\n\n &.MuiMenuItem-root {\n background-color: ${(props: Props) => props.design.colors.background};\n color: ${(props: Props) => props.design.colors.question};\n\n &:hover {\n background-color: ${(props: Props) => props.design.colors.button};\n }\n }\n\n &.MuiMenuItem-root.Mui-selected {\n background-color: ${(props: Props) => props.design.colors.button};\n }\n`;\n\nexport const StyledMenuItem: React.FC = ({ ...props }) => {\n return ;\n};\n","import React from 'react';\nimport { FormControl, FormHelperText, Grid } from '@mui/material';\nimport { StyledSelect } from '../../styled/select.input';\nimport { StyledMenuItem } from '../../styled/menuItem.input';\n\nexport const DropDown = ({ field, design, onChange, value, error, helperText }: any) => {\n const showError = error !== undefined ? true : false;\n\n return (\n \n \n \n {field.options.map((option: any) => (\n \n {option.title}\n \n ))}\n \n {showError && {helperText}}\n \n \n );\n};\n","import { Rating, RatingProps } from '@mui/material';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { FormPublicDesignFragment } from '../../graphql/fragment/form.public.fragment';\nimport { lighten } from 'polished';\ninterface Props {\n field: any;\n design: FormPublicDesignFragment;\n onChange: any;\n value: number;\n children?: any;\n name: string;\n id: string;\n}\n\nconst Field = styled(Rating)`\n <<<<<<< HEAD &.MuiRating-root.MuiRating-sizeLarge {\n font-size: calc(6vw);\n }\n ======= &.MuiRating-root.MuiRating-sizeLarge {\n @media screen and (max-width: 600px) {\n font-size: calc(12vw);\n }\n @media screen and (min-width: 600px) {\n font-size: calc(4vw);\n }\n margin-bottom: 3vh;\n }\n >>>>>>>feature/115/margins & .MuiRating-iconEmpty {\n & .MuiSvgIcon-root.MuiSvgIcon-fontSizeInherit {\n fill: ${(props: Props) => lighten(0.2, props.design.colors.background)};\n }\n }\n\n & .MuiRating-iconFilled {\n & .MuiSvgIcon-root.MuiSvgIcon-fontSizeInherit {\n fill: ${(props: Props) => props.design.colors.button};\n }\n }\n`;\n\nexport const RadioStyledInput: React.FC = ({\n children,\n ...props\n}) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-assignment\n return (\n \n {children}\n \n );\n};\n","import { Grid } from '@mui/material';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { RadioStyledInput } from '../../styled/rating.input';\n\nexport const RatingInput = ({\n field,\n design,\n urlValue,\n onChange,\n value,\n focus,\n}: any) => {\n const { t } = useTranslation();\n\n // let initialValue = undefined;\n\n // if (field.defaultValue) {\n // try {\n // initialValue = parseValue(field.defaultValue);\n // } catch (e) {\n // console.log('invalid default value', e);\n // }\n // }\n\n // if (urlValue) {\n // initialValue = parseUrlValue(urlValue);\n // }\n\n return (\n \n \n \n );\n};\n","import React from 'react';\nimport styled from 'styled-components';\nimport { FormPublicDesignFragment } from '../../graphql/fragment/form.public.fragment';\nimport { Checkbox } from '@mui/material';\ninterface Props {\n design: FormPublicDesignFragment;\n value: string;\n children?: any;\n error?: any;\n name: string;\n id: string;\n checked: any;\n onChange: any;\n}\n\n// $(document).ready(function(){ $('#content').height($(window).height()); })\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-assignment\nconst Field = styled(Checkbox)`\n &.MuiCheckbox-root {\n & .MuiSvgIcon-root {\n color: ${(props: Props) => props.design.colors.question};\n }\n }\n\n &.MuiCheckbox-root:hover {\n & .MuiSvgIcon-root {\n color: ${(props: Props) => props.design.colors.button};\n }\n }\n\n &.MuiCheckbox-root.Mui-checked {\n background-color: ${(props: Props) => props.design.colors.background};\n color: ${(props: Props) => props.design.colors.question};\n & .MuiSvgIcon-root {\n color: ${(props: Props) => props.design.colors.button};\n }\n }\n\n &.MuiFormHelperText-root.Mui-error {\n color: #e42525;\n }\n\n & + .MuiTypography-root {\n }\n`;\n\nexport const StyledCheckBox: React.FC = ({ ...props }) => {\n return ;\n};\n","import React, { useEffect, useState } from 'react';\n\nimport { useTranslation } from 'react-i18next';\nimport { StyledSliderInput } from '../../styled/slider.input';\nimport {\n Box,\n Checkbox,\n FormControlLabel,\n Grid,\n Typography,\n} from '@mui/material';\nimport { StyledCheckBox } from '../../styled/checkbox.input';\nexport const CheckboxInput = ({\n field,\n design,\n urlValue,\n onChange,\n value,\n focus,\n submissionCount,\n error,\n}: any) => {\n const { t } = useTranslation();\n\n // let initialValue = undefined;\n\n // if (field.defaultValue) {\n // try {\n // initialValue = parseValue(field.defaultValue);\n // } catch (e) {\n // console.log('invalid default value', e);\n // }\n // }\n\n // if (urlValue) {\n // initialValue = parseUrlValue(urlValue);\n // }\n\n return (\n \n {field.options.map((event: any, index: any) => {\n // since checkbox is controlled, need to manually reset the component when user restarts form\n const [checked, setChecked] = useState(false);\n useEffect(() => {\n setChecked(false);\n }, [submissionCount]);\n\n return (\n \n {\n if (e.target.value === event.value) {\n checked ? setChecked(false) : setChecked(true);\n }\n onChange(e);\n }}\n design={design}\n />\n }\n />\n \n );\n })}\n \n );\n};\n","import { AbstractType } from './abstract.type';\nimport { TextareaInput } from './textarea/textarea.input';\nimport { RadioInput } from './radio/radio.input';\nimport { SliderInput } from './slider/slider.input';\nimport { YesNoInput } from './yes_no/yes_no.input';\nimport { DropDown } from './dropdown/dropdown.input';\nimport { RatingInput } from './rating/raiting.input';\nimport { CheckboxInput } from './checkbox/checkbox.input';\n// export const fieldTypes: {\n// [key: string]: AbstractType;\n// } = {\n// textarea: TextareaInput,\n// };\n\nexport const getComponentByType = (type: string) => {\n switch (type) {\n case 'textarea':\n return TextareaInput;\n case 'radio':\n return RadioInput;\n case 'email':\n return TextareaInput;\n case 'number':\n return TextareaInput;\n case 'slider':\n return SliderInput;\n case 'textfield':\n return TextareaInput;\n case 'dropdown':\n return DropDown;\n case 'yes_no':\n return YesNoInput;\n case 'rating':\n return RatingInput;\n case 'checkbox':\n return CheckboxInput;\n case 'link':\n return TextareaInput;\n default:\n break;\n }\n};\n","import React from 'react';\n\nimport { Grid, Typography } from '@mui/material';\nimport {\n FormPublicDesignFragment,\n FormPublicFieldFragment,\n} from 'graphql/fragment/form.public.fragment';\nimport { StyledButton } from './styled/button';\nimport styled from 'styled-components';\n\ninterface Props {\n field: FormPublicFieldFragment;\n design: FormPublicDesignFragment;\n lastSlideIndex: number;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n prev: () => void;\n next: (values?: any) => void;\n values: any;\n errors: any;\n slideIndex: number;\n}\n\n/**\n * @param input email input\n * @returns if the input is an email\n */\nexport const isEmail = (input: string): boolean => {\n let emailRE =\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\n return emailRE.test(input);\n};\n\nexport const BottomNavigation: React.FC = ({\n prev,\n slideIndex,\n design,\n field,\n values,\n next,\n errors,\n lastSlideIndex,\n}) => {\n return (\n \n \n {slideIndex !== 0 ? (\n \n Back\n \n ) : null}\n \n \n {\n if (lastSlideIndex === slideIndex) {\n return;\n }\n if (field.required && values[field.id]) {\n if (field.type === 'email' && isEmail(values[field.id])) {\n // if field is an email validate it is an email input before allowing user to move to next step\n next();\n } else if (\n field.type === 'textarea' ||\n field.type === 'textfield'\n ) {\n if (!errors[field.id]) {\n next();\n }\n } else if (field.type !== 'email') {\n // TODO: had to hardcode this for now will think of better solution later\n next(values);\n }\n // if field is required and values are not null then allow user to move to step\n } else if (!field.required) {\n // if field is not required then allow user to move to next step\n next();\n }\n }}\n background={design.colors.button}\n $buttonColor={design.colors.buttonText}\n highlight={design.colors.buttonActive}\n >\n {lastSlideIndex === slideIndex ? 'Submit' : 'Next'}\n \n \n \n );\n};\n","import React, { ChangeEvent, createElement, useEffect, useState } from 'react';\nimport { Formik, Form } from 'formik';\n// import { useTranslation } from 'react-i18next';\nimport { StyledMarkdown } from '../../styled/markdown';\nimport {\n FormPublicDesignFragment,\n FormPublicFieldFragment,\n} from '../../../graphql/fragment/form.public.fragment';\nimport { useRouter } from '../../use.router';\nimport { getComponentByType } from '@/components/types';\nimport { Grid, Typography } from '@mui/material';\nimport { BottomNavigation } from '@/components/bottomNavigation';\nimport styled from 'styled-components';\nimport parse from 'html-react-parser';\n\ninterface Props {\n focus: boolean;\n field: FormPublicFieldFragment;\n design: FormPublicDesignFragment;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n save: (data: any) => void;\n next: (values?: any) => void;\n prev: () => void;\n\n slideIndex: number;\n lastSlideIndex: number;\n // this has to be passed into the component from swiper since we only reset the question's form\n // if the user wants to make another submission in the end page\n // if we reset form here, it will lose the user's input upon them moving onto the next question\n // formik will automatically reset the form upon seeing it's intialValues change\n // in this case, a flag that tells the form to reset\n submissionCount?: number;\n //added\n totalQuestions: number;\n}\n\n/**\n * @param input email input\n * @returns if the input is an email\n */\nexport const isEmail = (input: string): boolean => {\n let emailRE =\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\n return emailRE.test(input);\n};\n\nconst isLink = (input: string): boolean => {\n // https://stackoverflow.com/questions/8667070/javascript-regular-expression-to-validate-url\n let linkRE =\n /^(?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:[/?#]\\S*)?$/;\n return linkRE.test(input);\n};\n\nexport const Field: React.FC = ({\n field,\n design,\n save,\n next,\n prev,\n slideIndex,\n submissionCount,\n lastSlideIndex,\n //added prop for toal question num\n totalQuestions,\n}) => {\n // const router = useRouter();\n // const { t } = useTranslation();\n\n const FieldInput = getComponentByType(field.type);\n // const Component = createElement(FieldInput);\n\n // const finish = (data: any) => {\n // console.log('received field data', data);\n // save(data);\n // // next();\n // };\n\n // const error = async () => {\n // await message.error('Check inputs!');\n // };\n\n // const getUrlDefault = (): string | undefined => {\n // if (router.query[field.id]) {\n // return router.query[field.id] as string;\n // }\n\n // if (router.query[field.slug!]) {\n // return router.query[field.slug!] as string;\n // }\n\n // return undefined;\n // };\n\n const validate = (values: any) => {\n const errors: any = {};\n if (field.required) {\n /** email */\n if (field.type === 'email' && !isEmail(values[field.id])) {\n errors[field.id] = 'Please enter a valid email';\n } else if (\n /** number */\n field.type === 'number' &&\n typeof values[field.id] !== 'number'\n ) {\n errors[field.id] = 'Please enter a number';\n } else if (field.type === 'textarea' || field.type === 'textfield') {\n /** text area and text field*/\n // trim to make sure user cannot get through with a whitespace - effectively sending an empty answer\n if (!values[field.id]) {\n errors[field.id] = 'Please enter a value';\n } else {\n if (values[field.id].trim() === '') {\n errors[field.id] = 'Please enter a non-empty value';\n }\n }\n } else if (field.type === 'link' && !isLink(values[field.id])) {\n /** link */\n errors[field.id] = 'Please enter a valid link';\n } else {\n /** default */\n if (!values[field.id]) {\n errors[field.id] = 'Please enter a value';\n }\n }\n }\n return errors;\n };\n\n const handleSubmit = (values: any) => {\n // if statement solely for mlb-experience\n if (field.id !== 'G7RnB7') {\n save(values);\n }\n };\n\n return (\n \n {({ values, handleChange, errors }) => (\n
\n \n {/* User can see which number question on in the form \"Question X of Y\" to know how far along in the survey */}\n Question {slideIndex + 1} of {totalQuestions}

\n \n {parse(field.title)}{' '}\n \n \n {field.description ? (\n \n {field.description}\n \n ) : (\n <>\n

\n

\n \n )}\n\n {FieldInput && (\n \n )}\n \n \n \n \n )}\n \n );\n};\n","import { gql } from '@apollo/client/core';\n\nexport interface SubmissionFinishMutationData {\n submission: {\n id: string;\n percentageComplete: string;\n };\n}\n\nexport interface SubmissionFinishMutationVariables {\n submission: string;\n}\n\nexport const SUBMISSION_FINISH_MUTATION = gql`\n mutation submissionFinish($submission: ID!) {\n submission: submissionFinish(submission: $submission) {\n id\n percentageComplete\n }\n }\n`;\n","import { gql } from '@apollo/client/core';\n\nexport interface SubmissionSetFieldMutationData {\n submission: {\n id: string;\n percentageComplete: string;\n };\n}\n\nexport interface SubmissionSetFieldMutationVariables {\n submission: string;\n fields: [field: { token: string; field: string; data: string }];\n}\n\nexport const SUBMISSION_SET_FIELD_MUTATION = gql`\n mutation submissionSetField(\n $submission: ID!\n $fields: [SubmissionSetFieldInput!]!\n ) {\n submission: submissionSetField(submission: $submission, fields: $fields) {\n id\n percentageComplete\n }\n }\n`;\n","import { gql } from '@apollo/client/core';\n\nexport interface SubmissionStartMutationData {\n submission: {\n id: string;\n percentageComplete: string;\n };\n}\n\nexport interface SubmissionStartMutationVariables {\n form: string;\n submission: {\n token: string;\n device: {\n type: string;\n name: string;\n };\n };\n}\n\nexport const SUBMISSION_START_MUTATION = gql`\n mutation submissionStart($form: ID!, $submission: SubmissionStartInput!) {\n submission: submissionStart(form: $form, submission: $submission) {\n id\n percentageComplete\n }\n }\n`;\n","import { useMutation } from '@apollo/client';\n// import debug from 'debug';\nimport { useCallback, useState } from 'react';\nimport {\n SUBMISSION_FINISH_MUTATION,\n SubmissionFinishMutationData,\n SubmissionFinishMutationVariables,\n} from '../graphql/mutation/submission.finish.mutation';\nimport {\n SUBMISSION_SET_FIELD_MUTATION,\n SubmissionSetFieldMutationData,\n SubmissionSetFieldMutationVariables,\n} from '../graphql/mutation/submission.set.field.mutation';\nimport {\n SUBMISSION_START_MUTATION,\n SubmissionStartMutationData,\n SubmissionStartMutationVariables,\n} from '../graphql/mutation/submission.start.mutation';\n\n// const logger = debug('useSubmission');\n\nexport interface Submission {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n startSubmission: () => Promise<{ id: string; token: string } | undefined>;\n setField: (\n fieldId: string,\n data: unknown,\n submission: { id: string; token: string }\n ) => Promise;\n finish: (submission: { id: string; token: string }) => Promise;\n}\n\nexport const useSubmission = (formId: string): Submission => {\n const [start] = useMutation<\n SubmissionStartMutationData,\n SubmissionStartMutationVariables\n >(SUBMISSION_START_MUTATION);\n const [save] = useMutation<\n SubmissionSetFieldMutationData,\n SubmissionSetFieldMutationVariables\n >(SUBMISSION_SET_FIELD_MUTATION);\n const [submit] = useMutation<\n SubmissionFinishMutationData,\n SubmissionFinishMutationVariables\n >(SUBMISSION_FINISH_MUTATION);\n\n // creates a new empty submission and inputs into the system\n const startSubmission = async () => {\n const token = [...Array(40)]\n .map(() => Math.random().toString(36)[2])\n .join('');\n console.log('token: ' + token);\n\n const fetchedData = await start({\n variables: {\n form: formId,\n submission: {\n token,\n device: {\n name: /Mobi/i.test(window.navigator.userAgent)\n ? 'mobile'\n : 'desktop',\n type: window.navigator.userAgent,\n },\n },\n },\n });\n if (fetchedData.errors) {\n console.error(\n 'failed to start submission %J' + fetchedData.errors.toString\n );\n return undefined;\n } else {\n return {\n id: fetchedData.data!.submission.id,\n token,\n };\n }\n };\n\n const setField = async (\n fieldId: string,\n data: any,\n submission: { id: string; token: string }\n ) => {\n if (data === undefined || data === null || !submission) {\n console.log('skip save field id=%O %O', fieldId, data);\n return;\n }\n // logger('save field id=%O %O', fieldId, data);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-return\n const field = data.map((obj: any) => ({\n ...obj,\n token: submission.token,\n }));\n window.localStorage.setItem(fieldId, JSON.stringify(data));\n await save({\n variables: {\n submission: submission.id,\n fields: field,\n },\n });\n };\n\n const finish = async (submission: { id: string; token: string }) => {\n // logger('finish submission!!', formId);\n if (submission) {\n await submit({\n variables: {\n submission: submission.id,\n },\n });\n }\n };\n\n return {\n startSubmission,\n setField,\n finish,\n };\n};\n","import { ReactElement } from 'react';\nimport {\n FormPublicDesignFragment,\n FormPublicFieldFragment,\n FormPublicFragment,\n} from '../../graphql/fragment/form.public.fragment';\n\nexport interface LayoutProps {\n form: FormPublicFragment;\n // customFormJson - json data for custom forms, all from ./root/json\n // custom forms has their questions categorized into categories and currently, we do not have this sort of system\n // in the db so we just manually make it in a json file\n // they have questions that collect the user answers into a \"score\" (integer) and we average it into a final score in the end\n // a \"question\" has two things in the json file - an id and the category it belongs to, the id and the category name\n // the questions are in order of the form and we grab it by just console logging\n // a \"category\" also has two things - the name and the max score\n // the max score is the (number of questions X max point for a question)\n // the \"chartCategories\" in the JSON is just the categories with some placed into an array for the radar chart to split\n // the text onto mulitple lines\n customFormJson?: any;\n // renderCustomFormEndPage - some have a special end page different from the default one so we give a function that renders the end page\n // with the required data to render it\n renderCustomFormEndPage?: (params: any) => ReactElement;\n renderCustomFormStartPage?: (params: any) => ReactElement;\n startPageFields?: FormPublicFieldFragment[];\n}\n\nexport enum ACTIONS {\n ADD_SUBMISSION = 'ADD_SUBMISSION',\n DELETE_SUBMISSIONS = 'DELETE_SUBMISSIONS',\n}\n\nexport interface SubmissionsState {\n field: string;\n data: string;\n}\n\nexport interface SubmissionsAction {\n type: ACTIONS;\n payload: SubmissionsState;\n}\n\nexport interface CustomFormEndPageProps {\n scores: number[];\n design: FormPublicDesignFragment;\n jsonData: any;\n}\n","import { FC } from 'react';\nimport { Box, CircularProgress } from '@mui/material';\nimport { FormPublicDesignFragment } from '@/graphql/fragment/form.public.fragment';\n\ninterface SubmitModalProps {\n design: FormPublicDesignFragment;\n}\n\nconst SubmitModal: FC = ({ design }) => {\n return (\n \n \n \n \n \n );\n};\n\nexport default SubmitModal;\n","/* eslint-disable @typescript-eslint/no-misused-promises */\n// import { Modal, Progress } from 'antd';\n// import debug from 'debug'\nimport React, { useEffect, useMemo, useReducer, useState } from 'react';\n// import { useTranslation } from 'react-i18next';\nimport SwiperClass from 'swiper';\nimport { Swiper, SwiperProps, SwiperSlide } from 'swiper/react';\nimport { useWindowSize } from '@/components/use.window.size';\n// import { rgb } from 'polished'\nimport { Header } from '@/components/header';\nimport { ProgressHeader } from '@/components/ProgressHeader';\nimport { FormPage } from '@/components/layouts/slider/page';\nimport { Field } from '@/components/layouts/slider/field';\nimport { LayoutProps } from '@/components/layouts/layout.props';\nimport { useSubmission } from '@/components/use.submission';\nimport { Box, CircularProgress } from '@mui/material';\nimport SubmitModal from '@/components/SubmitModal';\nimport {\n ACTIONS,\n SubmissionsState,\n SubmissionsAction,\n} from '@/components/layouts/layout.props';\n\n// const logger = debug('layout/slider')\n\nconst reducer = (\n submissions: SubmissionsState[],\n action: SubmissionsAction\n) => {\n switch (action.type) {\n case ACTIONS.ADD_SUBMISSION:\n let replaced = false;\n const updated = submissions.map((submission: SubmissionsState) => {\n if (submission.field === action.payload.field) {\n replaced = true;\n return action.payload;\n } else {\n return submission;\n }\n });\n if (replaced) {\n return updated;\n } else {\n return [...updated, action.payload];\n }\n case ACTIONS.DELETE_SUBMISSIONS:\n return [];\n default:\n return submissions;\n }\n};\n\nconst renderDefaultEndPage = (params: any) => {\n return (\n \n );\n};\n\nexport const ProductShapeForm: React.FC = ({\n form,\n customFormJson,\n renderCustomFormEndPage = renderDefaultEndPage,\n}) => {\n // const { t } = useTranslation();\n const [swiper, setSwiper] = useState();\n const { height } = useWindowSize();\n const { title, id, design, startPage, endPage, fields, isLive } = form;\n const [submissionFlag, setSubmissionFlag] = useState(false); // flag to whether submit the submission or not\n const currentSubmission = useSubmission(id as string);\n const { startSubmission, finish, setField } = currentSubmission;\n const [submissions, dispatch] = useReducer<\n (\n submissions: SubmissionsState[],\n action: SubmissionsAction\n ) => SubmissionsState[]\n >(reducer, []); // overall submissions\n // used to reset answers of each question when user resets form\n // field.tsx - formik doesn't reset the form unless its intialValues prop changes\n const [submissionCounter, setSubmissionCounter] = useState(0);\n const [showProgress, setShowProgress] = useState(!startPage.show);\n const [progress, setProgress] = useState(0);\n const [categoryScores, setCategoryScores] = useState<{\n [key: string]: number;\n }>({});\n const [actualScores, setActualScores] = useState();\n const [lastSlideIndex, setLastSlideIndex] = useState(fields.length - 1);\n\n //track total questions\n const totalQuestions = useMemo(\n () => fields.filter((field) => field.type !== 'hidden').length,\n []\n );\n\n useEffect(() => {\n document.title = title;\n\n // get the slide index of the last slide that is not hidden\n for (let i = fields.length - 1; i >= 0; i--) {\n if (fields[i].type !== 'hidden') {\n setLastSlideIndex(i);\n break;\n }\n }\n\n const initialCategoryScores: { [key: string]: number } = {};\n customFormJson.categories.forEach(\n (category: { name: string; maxScore: number }) => {\n initialCategoryScores[category.name] = 0;\n }\n );\n setCategoryScores(initialCategoryScores);\n }, []);\n\n useEffect(() => {\n const submitSubmission = async () => {\n const s: { id: string; token: string } | undefined =\n await startSubmission();\n if (s) {\n await setField('', submissions, s).catch((err) => console.error(err));\n await finish(s);\n }\n setProgress(100);\n setShowProgress(false);\n setActualScores(getScores());\n setSubmissionFlag(false);\n // saving could be really fast so this prevents saving spinner from flashing\n await new Promise((r) => setTimeout(r, 1000));\n goNext();\n };\n if (submissionFlag) {\n submitSubmission();\n }\n }, [submissionFlag]);\n\n const addCategoryScore = (submission: {\n submissionId: string;\n value: string;\n }) => {\n // find the previous question submission if exists\n const prevSubmission = submissions.find(\n (item: SubmissionsState) => item.field === submission.submissionId\n );\n const submissionItem = customFormJson.questions.find(\n (item: { category: string; questionId: string }) =>\n item.questionId === submission.submissionId\n );\n\n if (submissionItem?.category) {\n if (prevSubmission) {\n // if current question submission already was calculated, subtract old score and add new\n setCategoryScores({\n ...categoryScores,\n [submissionItem.category]:\n categoryScores[submissionItem.category] -\n parseInt(prevSubmission.data.replace('\"', '')) +\n parseInt(submission.value),\n });\n } else {\n // if not, just add\n setCategoryScores({\n ...categoryScores,\n [submissionItem.category]:\n categoryScores[submissionItem.category] +\n parseInt(submission.value),\n });\n }\n }\n };\n\n const getScores = (): number[] => {\n return Object.values(categoryScores).map(\n (score, i) => (score / customFormJson.categories[i].maxScore) * 3\n );\n };\n\n const goNext = () => {\n if (!swiper) return;\n\n // logger('goNext')\n swiper.allowSlideNext = true;\n swiper.slideNext();\n swiper.allowSlideNext = false;\n };\n const goPrev = () => {\n if (!swiper) return;\n\n // logger('goPrev')\n swiper.allowSlidePrev = true;\n swiper.slidePrev();\n swiper.allowSlidePrev = false;\n };\n const goBeginning = () => {\n if (!swiper) return;\n\n // logger('goNext')\n const resettedCategoryScores: { [key: string]: number } = {};\n Object.keys(categoryScores).forEach(\n (key) => (resettedCategoryScores[key] = 0)\n );\n setCategoryScores(resettedCategoryScores);\n setProgress(0);\n setShowProgress(!startPage.show);\n dispatch({\n type: ACTIONS.DELETE_SUBMISSIONS,\n payload: { field: '', data: '' },\n });\n setSubmissionCounter(submissionCounter + 1);\n\n swiper.allowSlidePrev = true;\n swiper.slideTo(0);\n window.scrollTo({ top: 0, behavior: 'smooth' });\n swiper.allowSlidePrev = false;\n };\n\n const swiperConfig: SwiperProps = {\n direction: 'horizontal',\n allowSlideNext: false,\n allowSlidePrev: false,\n preventClicks: false,\n noSwiping: false,\n allowTouchMove: false,\n preventClicksPropagation: false,\n updateOnWindowResize: true,\n keyboard: false, // doesn't seem to do anything but will leave here, handleKeyPress is custom way of disable keyboard\n };\n\n const handleKeyPress = async (event: any) => {\n if (\n // prevent user from going forward from pressing enter key\n // however it will allow enter key to go through if the event came from mui textarea\n // this is to allow the textarea to add new lines\n event.key === 'Enter' &&\n !event.target.className.includes('MuiInputBase-inputMultiline')\n ) {\n event.preventDefault();\n } else if (\n // prevent user from going forward from pressing space key\n // howeever it will allow space key to go through if the event came from mui input\n // this is to allow text line, text area, etc to add space character\n event.key === ' ' &&\n !event.target.className.includes('MuiInputBase-input')\n ) {\n event.preventDefault();\n }\n };\n\n return (\n <>\n {submissionFlag && }\n \n {showProgress ? (\n \n ) : null}\n {/* eslint-disable-next-line @typescript-eslint/no-unsafe-member-access */}\n {\n // logger('setSwiper')\n setSwiper(next);\n }}\n >\n {[\n startPage.show ? (\n \n
\n \n \n ) : undefined,\n ...fields\n .map((field, i) => {\n if (field.type === 'hidden') {\n return null;\n }\n\n return (\n \n {\n const fieldObj = {\n field: field.id,\n data: JSON.stringify(\n values[field.id] !== undefined &&\n values[field.id] !== null\n ? values[field.id]\n : '-'\n ),\n };\n const submissionObj = {\n submissionId: field.id,\n value: values[field.id] as string,\n };\n\n dispatch({\n type: ACTIONS.ADD_SUBMISSION,\n payload: fieldObj,\n });\n addCategoryScore(submissionObj);\n\n if (i === lastSlideIndex && isLive) {\n setSubmissionFlag(true);\n }\n }}\n next={() => {\n if (i === lastSlideIndex) {\n // prevent going back!\n swiper!.allowSlidePrev = false;\n setShowProgress(false);\n }\n setProgress(\n Math.floor(((i + 1) / fields.length) * 100)\n );\n goNext();\n }}\n prev={() => {\n if (i !== 0) {\n swiper!.allowSlideNext = false;\n setProgress(\n Math.floor(((i - 1) / fields.length) * 100)\n );\n goPrev();\n }\n }}\n slideIndex={i}\n submissionCount={submissionCounter}\n lastSlideIndex={lastSlideIndex}\n //added to display current question num out of total\n totalQuestions={totalQuestions}\n />\n \n );\n })\n .filter((e) => e !== null),\n !submissionFlag && progress === 100 && (\n \n
\n {renderCustomFormEndPage({\n scores: actualScores,\n design: design,\n jsonData: customFormJson,\n questions: fields,\n userAnswers: submissions,\n page: endPage,\n className: 'end-page',\n })}\n \n ),\n ].filter((e) => !!e)}\n \n \n \n );\n};\n","/* eslint-disable @typescript-eslint/no-misused-promises */\n// import { Modal, Progress } from 'antd';\n// import debug from 'debug'\nimport React, { useEffect, useState, useReducer } from 'react';\n// import { useTranslation } from 'react-i18next';\nimport SwiperClass from 'swiper';\nimport { Swiper, SwiperProps, SwiperSlide } from 'swiper/react';\nimport { useWindowSize } from '../../use.window.size';\nimport { LayoutProps } from '../../layouts/layout.props';\nimport { Field } from '../../layouts/slider/field';\nimport { FormPage } from '../../layouts/slider/page';\n// import { rgb } from 'polished'\nimport { Header } from '../../header';\nimport { ProgressHeader } from '../../ProgressHeader';\nimport { useSubmission } from '@/components/use.submission';\nimport SubmitModal from '@/components/SubmitModal';\nimport {\n ACTIONS,\n SubmissionsState,\n SubmissionsAction,\n} from '@/components/layouts/layout.props';\n\n// const logger = debug('layout/slider')\n\nconst reducer = (\n submissions: SubmissionsState[],\n action: SubmissionsAction\n) => {\n switch (action.type) {\n case ACTIONS.ADD_SUBMISSION:\n let replaced = false;\n const updated = submissions.map((submission: SubmissionsState) => {\n if (submission.field === action.payload.field) {\n replaced = true;\n return action.payload;\n } else {\n return submission;\n }\n });\n if (replaced) {\n return updated;\n } else {\n return [...updated, action.payload];\n }\n case ACTIONS.DELETE_SUBMISSIONS:\n return [];\n default:\n return submissions;\n }\n};\n\nexport const MLBLayout: React.FC = (props) => {\n // const { t } = useTranslation();\n const [swiper, setSwiper] = useState();\n const { height } = useWindowSize();\n const { id, design, startPage, endPage, fields, isLive } = props.form;\n const [submissionFlag, setSubmissionFlag] = useState(false); // flag to whether submit the submission or not\n const currentSubmission = useSubmission(id as string);\n const { startSubmission, finish, setField } = currentSubmission;\n const [submissions, dispatch] = useReducer<\n (\n submissions: SubmissionsState[],\n action: SubmissionsAction\n ) => SubmissionsState[]\n >(reducer, []); // overall submissions\n // used to reset answers of each question when user resets form\n // field.tsx - formik doesn't reset the form unless its intialValues prop changes\n const [submissionCounter, setSubmissionCounter] = useState(0);\n const [pathDone, setPathDone] = useState(false);\n const [showProgress, setShowProgress] = useState(!startPage.show);\n const [progress, setProgress] = useState(0);\n const [lastSlideIndex, setLastSlideIndex] = useState(fields.length - 1);\n\n //track total questions\n const totalQuestions = fields.filter(\n (field) => field.type !== 'hidden'\n ).length;\n\n useEffect(() => {\n document.title = props.form.title;\n\n // get the slide index of the last slide that is not hidden\n for (let i = fields.length - 1; i >= 0; i--) {\n if (fields[i].type !== 'hidden') {\n setLastSlideIndex(i);\n break;\n }\n }\n }, []);\n\n useEffect(() => {\n const submitSubmission = async () => {\n const s: { id: string; token: string } | undefined =\n await startSubmission();\n if (s) {\n await setField('', submissions, s).catch((err) => console.error(err));\n await finish(s);\n }\n setProgress(100);\n setShowProgress(false);\n setSubmissionFlag(false);\n // saving could be really fast so this prevents saving spinner from flashing\n await new Promise((r) => setTimeout(r, 1000));\n goLast();\n };\n if (submissionFlag) {\n submitSubmission();\n }\n }, [submissionFlag]);\n\n // mui text input (textarea, textfield) does not go back to its default value even though we pass in empty values and re-render the components\n // this hook ensures that when the form is resetted, the values in the text inputs do not hold the previous user inputs\n useEffect(() => {\n if (submissionCounter !== 0) {\n Array.from(document.getElementsByClassName('MuiInputBase-input')).forEach(\n (textfield) => {\n const converted = textfield as HTMLInputElement;\n converted.value = '';\n }\n );\n }\n }, [submissionCounter]);\n\n const goNext = () => {\n if (!swiper) return;\n\n // logger('goNext')\n swiper.allowSlideNext = true;\n swiper.slideNext();\n window.scrollTo({ top: 0, behavior: 'smooth' });\n swiper.allowSlideNext = false;\n };\n const goPrev = () => {\n if (!swiper) return;\n\n // logger('goPrev')\n swiper.allowSlidePrev = true;\n swiper.slidePrev();\n window.scrollTo({ top: 0, behavior: 'smooth' });\n swiper.allowSlidePrev = false;\n };\n const goBeginning = () => {\n if (!swiper) return;\n\n // logger('goNext')\n setProgress(0);\n setShowProgress(!startPage.show);\n dispatch({\n type: ACTIONS.DELETE_SUBMISSIONS,\n payload: { field: '', data: '' },\n });\n setSubmissionCounter(submissionCounter + 1);\n swiper.allowSlidePrev = true;\n swiper.slideTo(0);\n window.scrollTo({ top: 0, behavior: 'smooth' });\n swiper.allowSlidePrev = false;\n };\n const goPath1 = () => {\n if (!swiper) return;\n\n // logger('goNext')\n swiper.allowSlideNext = true;\n swiper.slideTo(1);\n window.scrollTo({ top: 0, behavior: 'smooth' });\n swiper.allowSlideNext = false;\n };\n const goPath2 = () => {\n if (!swiper) return;\n\n // logger('goNext')\n swiper.allowSlideNext = true;\n swiper.slideTo(22);\n window.scrollTo({ top: 0, behavior: 'smooth' });\n swiper.allowSlideNext = false;\n };\n const goLast = () => {\n if (!swiper) return;\n\n // logger('goNext')\n swiper.allowSlideNext = true;\n swiper.slideTo(23);\n window.scrollTo({ top: 0, behavior: 'smooth' });\n swiper.allowSlideNext = false;\n };\n\n const swiperConfig: SwiperProps = {\n direction: 'horizontal',\n allowSlideNext: false,\n allowSlidePrev: false,\n preventClicks: false,\n noSwiping: false,\n allowTouchMove: false,\n preventClicksPropagation: false,\n updateOnWindowResize: true,\n };\n\n // prevent user from going forward from pressing enter key\n // however it will allow enter key to go through if the event came from mui textarea\n // this is to allow the textarea to add new lines\n const handleEnterKey = async (event: any) => {\n if (\n event.key === 'Enter' &&\n !event.target.className.includes('MuiInputBase-inputMultiline')\n ) {\n event.preventDefault();\n }\n };\n\n return (\n <>\n {submissionFlag && }\n \n {showProgress ? (\n \n ) : null}\n {/* eslint-disable-next-line @typescript-eslint/no-unsafe-member-access */}\n {\n // logger('setSwiper')\n setSwiper(next);\n }}\n >\n {[\n startPage.show ? (\n \n
\n \n \n ) : undefined,\n ...fields\n .map((field, i) => {\n if (field.type === 'hidden') {\n return null;\n }\n // branch - G7RnB7\n // path 1 start - rj2AP7\n // path 1 end - g1o98j\n // path 2 start - E1lv9j\n\n return (\n \n {\n const fieldObj = {\n field: field.id,\n data: JSON.stringify(\n values[field.id] !== undefined &&\n values[field.id] !== null\n ? values[field.id]\n : '-'\n ),\n };\n\n dispatch({\n type: ACTIONS.ADD_SUBMISSION,\n payload: fieldObj,\n });\n\n if (pathDone && isLive) {\n setSubmissionFlag(true);\n }\n }}\n next={(values?: any) => {\n // 22 questions for path 1, 2 questions for path 2\n if (!pathDone) {\n if (field.id === 'G7RnB7') {\n if (values.G7RnB7 === 'YES') {\n setProgress(Math.floor((1 / 22) * 100));\n goPath1();\n } else {\n setProgress(50);\n goPath2();\n }\n } else if (field.id === 'g1o98j') {\n setPathDone(true);\n swiper!.allowSlidePrev = false;\n setShowProgress(false);\n setProgress(100);\n goLast();\n } else if (field.id === 'E1lv9j') {\n setPathDone(true);\n swiper!.allowSlidePrev = false;\n setShowProgress(false);\n setProgress(100);\n goNext();\n } else {\n // prevent going back!\n swiper!.allowSlidePrev = false;\n setProgress(Math.floor(((i + 1) / 22) * 100));\n goNext();\n }\n }\n }}\n prev={() => {\n if (i !== 0) {\n if (field.id === 'E1lv9j' || field.id === 'rj2AP7') {\n goBeginning();\n } else {\n swiper!.allowSlideNext = false;\n setProgress(Math.floor(((i - 1) / 22) * 100));\n goPrev();\n }\n }\n }}\n slideIndex={i}\n submissionCount={submissionCounter}\n lastSlideIndex={lastSlideIndex}\n totalQuestions={totalQuestions}\n />\n \n );\n })\n .filter((e) => e !== null),\n endPage.show ? (\n \n
\n \n \n ) : undefined,\n ].filter((e) => !!e)}\n \n \n \n );\n};\n","import React, { useEffect, useState } from 'react';\nimport {\n FormPublicDesignFragment,\n FormPublicFieldFragment,\n FormPublicPageFragment,\n} from '../../../graphql/fragment/form.public.fragment';\nimport { StyledButton } from '@/components/styled/button';\nimport { Grid, Typography } from '@mui/material';\nimport { getComponentByType } from '@/components/types';\nimport { Form, Formik } from 'formik';\nimport * as Yup from 'yup';\nimport parse from 'html-react-parser';\n\ninterface Props {\n page?: FormPublicPageFragment;\n design: FormPublicDesignFragment;\n className?: string;\n image?: boolean;\n startPageFields: any;\n setStartPageSubmissions?: any;\n next?: () => void;\n showProgress?: React.Dispatch>;\n}\n\nexport const CustomStartPage: React.FC = ({\n page,\n design,\n next,\n className,\n showProgress,\n startPageFields,\n setStartPageSubmissions,\n}) => {\n const [initialFormValues, setInitialFormValues] = useState({});\n\n const FieldInput = getComponentByType(startPageFields[0].type);\n const FieldInput2 = getComponentByType(startPageFields[1].type);\n const FieldInput3 = getComponentByType(startPageFields[2].type);\n const FieldInput4 = getComponentByType(startPageFields[3].type);\n const FieldInput5 = getComponentByType(startPageFields[4].type);\n const FieldInput6 = getComponentByType(startPageFields[5].type);\n const FieldInput7 = getComponentByType(startPageFields[6].type);\n const FieldInput8 = getComponentByType(startPageFields[7].type);\n const FieldInput9 = getComponentByType(startPageFields[8].type);\n const FieldInput10 = getComponentByType(startPageFields[9].type);\n\n const getInitialFieldValues = (fields: [FormPublicFieldFragment]) => {\n let returnObj = {};\n fields.forEach((item) => {\n const fieldData = { [item.id]: JSON.parse(item.defaultValue) };\n returnObj = { ...returnObj, ...fieldData };\n });\n return returnObj;\n };\n\n const handleSubmit = (values: any, validateForm: any) => {\n if (showProgress !== undefined && next !== undefined) {\n showProgress(true);\n\n const startPageSubmissions = getStartPageSubmissions(values);\n\n setStartPageSubmissions(startPageSubmissions);\n\n validateForm().then((errors: any) => {\n if (Object.keys(errors).length === 0) {\n next();\n }\n });\n }\n };\n\n const getStartPageSubmissions = (formValues: any) => {\n const keys = Object.keys(formValues);\n const values = Object.values(formValues);\n return keys.map((item, i) => {\n const value = values[i] !== null ? JSON.stringify(values[i]) : '';\n return { field: item, data: value };\n });\n };\n\n const formValidationSchema = Yup.object().shape({\n ['g1o8Y7']: Yup.string().required('First name required'),\n ['gVYoZ7']: Yup.string().required('Last name required'),\n ['J7ND5V']: Yup.string()\n .email('Invalid email format')\n .required('Email is Required'),\n ['qV8kYj']: Yup.string().required('Country required'),\n ['Q7OA4V']: Yup.string().required('Company required'),\n ['8VPne7']: Yup.boolean().required('Terms of use required'),\n ['J73Gk7']: Yup.boolean().required('Data collection required'),\n });\n\n const getFieldValue = (values: any, field: any) => {\n const id = field.id;\n return values[id];\n };\n\n const getFieldError = (errors: any, field: any) => {\n const id = field.id;\n return errors[id];\n };\n\n const fieldHasError = (errors: any, field: any) => {\n const id = field.id;\n return errors[id] ? true : false;\n };\n\n useEffect(() => {\n if (startPageFields) {\n const defaultValues = getInitialFieldValues(startPageFields);\n setInitialFormValues(defaultValues);\n }\n }, [startPageFields]);\n\n return (\n
\n \n \n \n {page?.title}\n \n \n \n \n {page?.paragraph}\n \n \n {Object.keys(initialFormValues).length > 0 && (\n \n {({ values, handleChange, errors, validateForm }) => (\n
\n \n {FieldInput2 && (\n \n \n {startPageFields[1].title}\n \n \n \n )}\n\n {FieldInput3 && (\n \n \n {startPageFields[2].title}\n \n \n \n )}\n\n {FieldInput4 && (\n \n \n {startPageFields[3].title}\n \n \n \n )}\n \n \n {FieldInput5 && (\n \n \n {startPageFields[4].title}\n \n \n \n )}\n {FieldInput8 && (\n \n \n {startPageFields[7].title}\n \n \n \n )}\n\n {FieldInput7 && (\n \n \n {startPageFields[6].title}\n \n \n \n )}\n \n \n {FieldInput6 && (\n \n \n {startPageFields[5].title}\n \n \n \n )}\n \n \n {FieldInput9 && (\n \n \n {parse(startPageFields[8].title)}\n \n \n \n )}\n \n \n {FieldInput10 && (\n \n \n {parse(startPageFields[9].title)}\n \n \n {fieldHasError(errors, startPageFields[9]) ? (\n \n Terms of use required\n \n ) : null}\n \n )}\n \n {FieldInput && (\n \n \n {startPageFields[0].title}\n \n \n {fieldHasError(errors, startPageFields[0]) ? (\n \n Data collection required\n \n ) : null}\n \n )}\n handleSubmit(values, validateForm)}\n >\n {page?.buttonText || 'Get Started'}\n \n \n )}\n \n )}\n \n
\n );\n};\n","/* eslint-disable @typescript-eslint/no-misused-promises */\n// import { Modal, Progress } from 'antd';\n// import debug from 'debug'\nimport React, { useEffect, useState, useReducer } from 'react';\n// import { useTranslation } from 'react-i18next';\nimport SwiperClass from 'swiper';\nimport { Swiper, SwiperProps, SwiperSlide } from 'swiper/react';\nimport { useWindowSize } from '@/components/use.window.size';\nimport { LayoutProps } from '../layout.props';\nimport { Field } from './field';\nimport { FormPage } from './page';\n// import { rgb } from 'polished'\nimport { Header } from '@/components/header';\nimport { ProgressHeader } from '@/components/ProgressHeader';\nimport { useSubmission } from '@/components/use.submission';\nimport { Box, Button, Fab, Grid } from '@mui/material';\nimport styled from 'styled-components';\nimport { StyledButton } from '@/components/styled/button';\nimport SubmitModal from '@/components/SubmitModal';\nimport {\n ACTIONS,\n SubmissionsState,\n SubmissionsAction,\n} from '@/components/layouts/layout.props';\nimport { CustomStartPage } from '@/components/custom/gen-ai-readiness/start-page';\nimport { useRouter } from 'next/router';\n\n// const logger = debug('layout/slider')\n\n/*\n================================================================================================================================\n================================================================================================================================\n\nchanges to this file must also be reflected in ../../custom\\product-shape/form.tsx\n\n================================================================================================================================\n================================================================================================================================\n*/\n\nconst reducer = (\n submissions: SubmissionsState[],\n action: SubmissionsAction\n) => {\n switch (action.type) {\n case ACTIONS.ADD_SUBMISSION:\n let replaced = false;\n const updated = submissions.map((submission: SubmissionsState) => {\n if (submission.field === action.payload.field) {\n replaced = true;\n return action.payload;\n } else {\n return submission;\n }\n });\n if (replaced) {\n return updated;\n } else {\n return [...updated, action.payload];\n }\n case ACTIONS.DELETE_SUBMISSIONS:\n return [];\n default:\n return submissions;\n }\n};\n\nexport const SliderLayout: React.FC = ({\n form,\n renderCustomFormEndPage,\n renderCustomFormStartPage,\n customFormJson,\n startPageFields,\n}) => {\n // const { t } = useTranslation();\n const router = useRouter();\n const [swiper, setSwiper] = useState();\n const { height } = useWindowSize();\n const { id, design, startPage, endPage, fields, isLive } = form;\n const [submissionCounter, setSubmissionCounter] = useState(0); // current overall submission number, 1st, 2nd, etc\n const [submissionFlag, setSubmissionFlag] = useState(false); // flag to whether submit the submission or not\n const currentSubmission = useSubmission(id as string);\n const { startSubmission, finish, setField } = currentSubmission;\n const [submissions, dispatch] = useReducer<\n (\n submissions: SubmissionsState[],\n action: SubmissionsAction\n ) => SubmissionsState[]\n >(reducer, []); // overall submissions\n // the count of fields that are not hidden\n // a let variable so that every time this component is re-rendered, it starts from 0 again to render the slides correctly\n let actualFieldCount = 0;\n const [showProgress, setShowProgress] = useState(!startPage.show);\n const [progress, setProgress] = useState(0);\n const [lastSlideIndex, setLastSlideIndex] = useState(fields.length - 1);\n const [startPageSubmissions, setStartPageSubmissions] = useState([]);\n const [genAiCalcData, setGenAiCalcData] = useState([]);\n //track total questions\n const totalQuestions = fields.filter(\n (field) => field.type !== 'hidden'\n ).length;\n\n useEffect(() => {\n document.title = form.title;\n\n // get the slide index of the last slide that is not hidden\n for (let i = fields.length - 1; i >= 0; i--) {\n if (fields[i].type !== 'hidden') {\n setLastSlideIndex(i);\n break;\n }\n }\n }, []);\n\n useEffect(() => {\n const submitSubmission = async () => {\n const s: { id: string; token: string } | undefined =\n await startSubmission();\n if (s) {\n // Needed to get update the submissions for the GenAI Calc page to include data from start page form\n if (router.query.id === 'ejKQZ1') {\n const genAiCalcSubmissions = submissions.map((item: any) => {\n const sp = startPageSubmissions.find((startPageItem: any) => {\n if (item.field === startPageItem.field) {\n return startPageItem;\n }\n });\n if (sp) {\n return sp;\n }\n return item;\n });\n setGenAiCalcData(genAiCalcSubmissions);\n await setField('', genAiCalcSubmissions, s).catch((err) =>\n console.error(err)\n );\n } else {\n await setField('', submissions, s).catch((err) => console.error(err));\n }\n await finish(s);\n }\n setProgress(100);\n setShowProgress(false);\n setSubmissionFlag(false);\n // saving could be really fast so this prevents saving spinner from flashing\n await new Promise((r) => setTimeout(r, 1000));\n goNext();\n };\n if (submissionFlag) {\n submitSubmission();\n }\n }, [submissionFlag]);\n\n // mui text input (textarea, textfield) does not go back to its default value even though we pass in empty values and re-render the components\n // this hook ensures that when the form is resetted, the values in the text inputs do not hold the previous user inputs\n useEffect(() => {\n if (submissionCounter !== 0) {\n Array.from(document.getElementsByClassName('MuiInputBase-input')).forEach(\n (textfield) => {\n const converted = textfield as HTMLInputElement;\n converted.value = '';\n }\n );\n }\n }, [submissionCounter]);\n\n const goNext = () => {\n if (!swiper) return;\n\n // logger('goNext')\n swiper.allowSlideNext = true;\n swiper.slideNext();\n window.scrollTo({ top: 0, behavior: 'smooth' });\n swiper.allowSlideNext = false;\n };\n const goPrev = () => {\n if (!swiper) return;\n\n // logger('goPrev')\n swiper.allowSlidePrev = true;\n swiper.slidePrev();\n window.scrollTo({ top: 0, behavior: 'smooth' });\n swiper.allowSlidePrev = false;\n };\n const goBeginning = () => {\n if (!swiper) return;\n\n // logger('goNext')\n setProgress(0);\n setShowProgress(!startPage.show);\n dispatch({\n type: ACTIONS.DELETE_SUBMISSIONS,\n payload: { field: '', data: '' },\n });\n setSubmissionCounter(submissionCounter + 1);\n swiper.allowSlidePrev = true;\n swiper.slideTo(0);\n window.scrollTo({ top: 0, behavior: 'smooth' });\n swiper.allowSlidePrev = false;\n };\n\n const swiperConfig: SwiperProps = {\n direction: 'horizontal',\n allowSlideNext: false,\n allowSlidePrev: false,\n preventClicks: false,\n noSwiping: false,\n allowTouchMove: false,\n preventClicksPropagation: false,\n updateOnWindowResize: true,\n keyboard: false, // doesn't seem to do anything but will leave here, handleKeyPress is custom way of disable keyboard\n };\n\n const handleKeyPress = async (event: any) => {\n if (\n // prevent user from going forward from pressing enter key\n // however it will allow enter key to go through if the event came from mui textarea\n // this is to allow the textarea to add new lines\n event.key === 'Enter' &&\n !event.target.className.includes('MuiInputBase-inputMultiline')\n ) {\n event.preventDefault();\n } else if (\n // prevent user from going forward from pressing space key\n // howeever it will allow space key to go through if the event came from mui input\n // this is to allow text line, text area, etc to add space character\n event.key === ' ' &&\n !event.target.className.includes('MuiInputBase-input')\n ) {\n event.preventDefault();\n }\n };\n\n const addHiddenSubmission = (hiddenObject: any) => {\n // we must check if the hidden submission is already in the submissions array\n // this is because we add the hidden submission (using setSubmissions) when the field is rendering and the type is hidden\n // setSubmissions causes a re-render of this component and this re-renders the fields again, causing hidden submission to be added again\n // thus becomes an infinite loop\n for (let i = 0; i < submissions.length; i++) {\n if (\n submissions[i].field === hiddenObject.field &&\n submissions[i].data === hiddenObject.data\n ) {\n return;\n }\n }\n dispatch({\n type: ACTIONS.ADD_SUBMISSION,\n payload: hiddenObject,\n });\n };\n\n return (\n <>\n {submissionFlag && }\n \n {showProgress ? (\n \n ) : null}\n {/* eslint-disable-next-line @typescript-eslint/no-unsafe-member-access */}\n {\n // logger('setSwiper')\n setSwiper(next);\n }}\n >\n {[\n startPage.show ? (\n \n {renderCustomFormStartPage && (\n \n )}\n {!renderCustomFormStartPage && (\n \n )}\n \n ) : undefined,\n ...fields\n .map((field, i) => {\n if (field.type === 'hidden') {\n addHiddenSubmission({\n field: field.id,\n data: field.defaultValue,\n });\n return null;\n }\n actualFieldCount += 1; // add 1 to count the current field we should render (does not count hiddens)\n\n return (\n \n {\n const fieldObj = {\n field: field.id,\n data: JSON.stringify(\n values[field.id] !== undefined &&\n values[field.id] !== null\n ? values[field.id]\n : '-'\n ),\n };\n\n dispatch({\n type: ACTIONS.ADD_SUBMISSION,\n payload: fieldObj,\n });\n\n if (i === lastSlideIndex && isLive) {\n setSubmissionFlag(true);\n }\n }}\n next={() => {\n if (i === lastSlideIndex) {\n // prevent going back!\n swiper!.allowSlidePrev = false;\n setShowProgress(false);\n }\n setProgress(\n Math.floor(((i + 1) / fields.length) * 100)\n );\n goNext();\n }}\n prev={() => {\n if (actualFieldCount - 1 !== 0) {\n swiper!.allowSlideNext = false;\n setProgress(\n Math.floor(((i - 1) / fields.length) * 100)\n );\n goPrev();\n }\n }}\n slideIndex={actualFieldCount - 1}\n submissionCount={submissionCounter}\n lastSlideIndex={lastSlideIndex}\n //add pass total q\n totalQuestions={totalQuestions}\n />\n \n );\n })\n .filter((e) => e !== null),\n !submissionFlag && progress === 100 && (\n \n {renderCustomFormEndPage && (\n <>\n {renderCustomFormEndPage({\n design: design,\n jsonData: customFormJson,\n questions: fields,\n userAnswers: genAiCalcData,\n className: 'end-page-calc',\n })}\n \n )}\n {!renderCustomFormEndPage && (\n <>\n
\n \n \n )}\n \n ),\n ].filter((e) => !!e)}\n \n \n \n );\n};\n","import { FC } from 'react';\nimport scss from './index.module.scss';\nimport {\n Chart as ChartJS,\n RadialLinearScale,\n PointElement,\n LineElement,\n Filler,\n Tooltip,\n Legend,\n LegendItem,\n} from 'chart.js';\nimport { Radar } from 'react-chartjs-2';\nimport { Box, Grid, Link, Typography } from '@mui/material';\nimport { saveAs } from 'file-saver';\nimport { StyledButton } from '@/components/styled/button';\nimport MenuBookIcon from '@mui/icons-material/MenuBook';\nimport MenuBookTwoToneIcon from '@mui/icons-material/MenuBookTwoTone';\nimport OpenInNewIcon from '@mui/icons-material/OpenInNew';\nimport { CustomFormEndPageProps } from '@/components/layouts/layout.props';\n\nconst ProductShape: FC = ({\n scores,\n design,\n jsonData,\n}) => {\n ChartJS.register(\n RadialLinearScale,\n PointElement,\n LineElement,\n Filler,\n Tooltip,\n Legend,\n {\n id: 'custom_canvas_background_color',\n beforeDraw: (chart) => {\n const ctx = chart.canvas.getContext('2d');\n ctx!.save();\n ctx!.globalCompositeOperation = 'destination-over';\n ctx!.fillStyle = '#000000';\n ctx!.fillRect(0, 0, chart.width, chart.height);\n ctx!.restore();\n },\n }\n );\n\n const saveChart = () => {\n //save to png\n const canvasSave = document.getElementById('product-shape-chart');\n // @ts-ignore: Object is possibly 'null'.\n canvasSave.toBlob(function (blob) {\n saveAs(blob, 'product-shape-chart.png');\n });\n };\n\n // console.log(chart.config.options) to see this object\n const chartData = {\n labels: jsonData.chartCategories,\n datasets: [\n {\n label: 'Shape',\n data: scores,\n backgroundColor: 'rgba(134, 188, 37, 0.2)',\n borderColor: 'rgba(134, 188, 37, 1)',\n color: 'rgba(255, 255, 255, 0.75)',\n borderWidth: 1,\n },\n ],\n };\n\n // console.log(chart.config.options) to see this object\n const chartOptions: {\n plugins: {\n legend: {\n display: boolean;\n };\n };\n scales: {\n r: {\n min: number;\n max: number;\n ticks: {\n stepSize: number;\n callback: any;\n };\n grid: {\n color: string;\n lineWidth: number;\n };\n pointLabels: any;\n };\n };\n } = {\n plugins: {\n legend: {\n display: false,\n },\n },\n scales: {\n r: {\n min: 0,\n max: 3,\n ticks: {\n stepSize: 1,\n callback: function (index: number): string {\n switch (index) {\n case 1:\n return 'Learning';\n case 2:\n return 'Experienced';\n case 3:\n return 'Expert';\n default:\n return '';\n }\n },\n },\n grid: {\n color: 'rgba(255, 255, 255, 0.75)',\n lineWidth: 2,\n },\n pointLabels: {\n /* Adjust data label font size according to chart size */\n font: function (context: { chart: { width: any } }) {\n var width = context.chart.width;\n var size = Math.round(width / 48);\n return {\n size: size,\n };\n },\n color: 'rgba(255, 255, 255, 1)',\n },\n },\n },\n };\n\n return (\n \n \n \n \n Thank you for completing your product shape\n \n \n SAVE SHAPE\n \n \n \n \n \n \n \n Access education material and course offered by LinkedIn\n Learning to continue building your skill set.\n \n \n \n \n \n \n \n Learn More\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default ProductShape;\n","import React, { useEffect, useRef } from 'react';\nimport {\n Chart as ChartJS,\n RadialLinearScale,\n PointElement,\n LineElement,\n Filler,\n Tooltip,\n Legend,\n} from 'chart.js';\nimport { Radar } from 'react-chartjs-2';\nimport { Box, Grid, Typography } from '@mui/material';\nimport { saveAs } from 'file-saver';\nimport { StyledButton } from '@/components/styled/button';\n\nconst UXResearchShape = ({ scores, design, jsonData }: any) => {\n ChartJS.register(\n RadialLinearScale,\n PointElement,\n LineElement,\n Filler,\n Tooltip,\n Legend,\n {\n id: 'custom_canvas_background_color',\n beforeDraw: (chart) => {\n const ctx = chart.canvas.getContext('2d');\n ctx!.save();\n ctx!.globalCompositeOperation = 'destination-over';\n ctx!.fillStyle = '#000000';\n ctx!.fillRect(0, 0, chart.width, chart.height);\n ctx!.restore();\n },\n }\n );\n\n const saveChart = () => {\n //save to png\n const canvasSave = document.getElementById('ux-research-shape-chart');\n // @ts-ignore: Object is possibly 'null'.\n canvasSave.toBlob(function (blob) {\n saveAs(blob, 'ux-research-shape-chart.png');\n });\n };\n\n const chartData = {\n labels: jsonData.chartCategories,\n datasets: [\n {\n label: 'Shape',\n data: scores,\n backgroundColor: 'rgba(134, 188, 37, 0.2)',\n borderColor: 'rgba(134, 188, 37, 1)',\n borderWidth: 1,\n },\n ],\n };\n const chartOptions: {\n plugins: {\n legend: any;\n };\n scales: {\n r: {\n min: number;\n max: number;\n ticks: {\n stepSize: number;\n callback: any;\n };\n grid: {\n color: string;\n lineWidth: number;\n };\n pointLabels: any;\n };\n };\n } = {\n plugins: {\n legend: {\n display: false,\n },\n },\n scales: {\n r: {\n min: 0,\n max: 3,\n ticks: {\n stepSize: 1,\n callback: function (index: number): string {\n switch (index) {\n case 1:\n return 'Learning';\n case 2:\n return 'Experienced';\n case 3:\n return 'Expert';\n default:\n return '';\n }\n },\n },\n grid: {\n color: 'rgba(255, 255, 255, 0.75)',\n lineWidth: 2,\n },\n pointLabels: {\n /* Adjust data label font size according to chart size */\n font: function (context: { chart: { width: any } }) {\n var width = context.chart.width;\n var size = Math.round(width / 48);\n return {\n size: size,\n };\n },\n color: 'rgba(255, 255, 255, 1)',\n },\n },\n },\n };\n\n return (\n \n \n \n \n Thank you for completing the

UX Research Shape Assessment\n
\n
\n \n \n \n \n \n \n \n SAVE SHAPE\n \n \n \n \n );\n};\n\nexport default UXResearchShape;\n","import React from 'react';\nimport { FormPublicDesignFragment } from '../../../graphql/fragment/form.public.fragment';\nimport { StyledButton } from '@/components/styled/button';\nimport { Typography, Grid, Box } from '@mui/material';\nimport List from '@mui/material/List';\nimport ListItem from '@mui/material/ListItem';\nimport ListItemIcon from '@mui/material/ListItemIcon';\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward';\nimport ListItemText from '@mui/material/ListItemText';\nimport Image from 'next/image';\nimport headingBg from './assets/gold-ball-top.png';\nimport thingsToKnowBg1 from './assets/ball-group.png';\nimport levelsBg1 from './assets/gold-blur-levels.png';\nimport levelsBg2 from './assets/clear-drops.png';\nimport levelsBg3 from './assets/ball-trio-levels.png';\nimport { Footer } from './components/footer';\n\ninterface Props {\n design: FormPublicDesignFragment;\n next: () => void;\n}\n\ninterface LevelLabels {\n experience: string[];\n aspiration: string[];\n}\n\nconst levelLabels: LevelLabels = {\n experience: [\n //'Only you and your coach can see your results'\n 'It is a baseline of where you are and where you want to be',\n 'Use it to drive your career goals',\n 'Design leadership will only see a blended average of results from our full practice',\n ],\n aspiration: [\n //'It is not publicly visible',\n 'It is not a reflection of your value or performance',\n 'It will not be used against design practitioners and their skills or experience (at any level)',\n ],\n};\n\nexport const DesignSkillStackStartPage: React.FC = ({\n design,\n next,\n}) => {\n return (\n \n \n \n \n Hello!\n
\n Welcome to{' '}\n \n Design Skill Stack\n \n \n \n Serving as an inventory of our people's skills, experiences, and\n aspirations, this comprehensive and objective coach-and-coachee\n discussion tool aims to understand your skills, capture your\n experiences, and identify your aspirations in specific areas of\n design. Insights gained from this survey will not only help us more\n effectively staff engagements and identify our collective strengths\n and gaps, but also help you set goals, measure success, and most\n importantly, engage in constructive conversations with your coach.\n \n\n next()}\n style={{\n marginTop: '40px',\n width: '175px',\n }}\n >\n {'Get started'}\n \n \n \n Before you begin\n \n \n The Design Skill Stack survey is meant to be completed by yourself.\n Once completed, share your results with your coach, and use them as a\n discussion guide.\n \n \n\n \n \n \n \n \n Keep in mind\n \n
    \n
  • \n {' '}\n \n It will take about{' '}\n 45 mins to complete\n the questionnaire\n \n
  • \n
  • \n \n The more thorough you are in your answers, the more accurate\n and helpful your results will be\n \n
  • \n
  • \n {' '}\n \n Review the levels and understand what they mean so that you\n are prepared to evaluate your skills and aspirations\n \n
  • \n
  • \n \n Plan on spending{' '}\n 30 mins talking\n about your answers and results with your coach\n \n
  • \n
  • \n \n You'll take this{' '}\n twice a year, once\n in June and again in January\n \n
  • \n
\n
\n\n \n \n How it works\n \n
    \n
  • \n \n You will be asked questions based on 6 sections: Universal\n skills, Design skills, Software, Type of engagements,\n Industries & Sectors, and Platforms\n \n
  • \n
  • \n \n For each question you will be asked to rate both your{' '}\n experience level{' '}\n and your{' '}\n aspiration level{' '}\n according to the key below\n \n
  • \n
  • \n \n If you are unsure about a specific skill, tool, type of\n engagement, etc. that is mentioned, select the highlighted\n term to get the glossary definition.\n \n
  • \n
\n
\n \n \n\n \n \n\n \n\n \n\n \n\n \n \n Levels of Experience & Aspiration\n \n \n \n \n \n \n Experience\n {' '}\n Level\n \n \n What is your amount of experience and understanding?\n \n \n \n \n \n LEVELS\n \n \n \n \n \n \n Aspiration\n {' '}\n to Learn & Do\n \n \n What is your level of interest in doing this in the future?\n \n \n \n \n \n \n \n Not experienced in the subject\n \n \n \n \n 0Not Applicable0\n \n \n \n \n No interest in the subject\n \n \n \n \n \n \n Familiar the basics, able to solve subject-related problems with\n team or mentor assistance{' '}\n \n \n \n \n 1Novice1\n \n \n \n \n Familiar with the basics, and would like to learn more\n \n \n \n \n \n \n Adept in the subject, and can independently apply the knowledge\n with minimal team or mentor assistance{' '}\n \n \n \n \n 2Intermediate2\n \n \n \n \n Familiar with the subject, would like to learn more and gain\n more experience\n \n \n \n\n \n \n \n Familiar enough with the subject to independently apply the\n knowledge in solving problems on a project{' '}\n \n \n \n \n 3Advanced3\n \n \n \n \n Very familiar the subject, and would like to gain deeper\n learnings and ultimately become an expert \n \n \n \n\n \n \n \n Proficient in the subject, often the leader in applying the\n knowledge, and able to direct others accordingly{' '}\n \n \n \n \n 4Expert4\n \n \n \n \n Proficient in the subject, and would like to make this a focus\n area\n \n \n \n\n \n \n \n Considered a veteran in the subject, capable of identifying\n needs when presented with a problem, able to talk/write at\n length on the subject, and qualified to teach others{' '}\n \n \n \n \n 5Master5\n \n \n \n \n Considered a veteran in the subject, and would like to teach the\n subject to others\n \n \n \n\n \n \n \n \n \n next()}\n style={{\n marginTop: '32px',\n width: '175px',\n }}\n >\n {'Get started'}\n \n \n \n \n \n \n \n \n What this is\n {' '}\n and what it isn't\n \n\n \n The Design Skill Stack is a{' '}\n \n discussion guide\n {' '}\n for all design practitioners within Design-led Product & Engineering\n (DP&E). It is{' '}\n \n not\n {' '}\n another performance assessment framework.\n \n\n \n \n \n This is used to facilitate your career growth\n \n \n {levelLabels.experience.map((labelText: string, i: number) => (\n \n \n \n \n \n \n ))}\n \n \n \n \n This is not used to measure your performance\n \n \n {levelLabels.aspiration.map((labelText: string, i: number) => (\n \n \n x\n \n \n \n ))}\n \n \n \n \n \n